iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
0

把原先得設定檔改成依靠 Config-Server 提供的

增加 spring-cloud-starter-config 跟 spring-boot-starter-actuator
build.gradle

dependencies {
    compile('org.springframework.cloud:spring-cloud-starter-config')
    compile('org.springframework.boot:spring-boot-starter-actuator')
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-data-rest')
    compile('org.springframework.boot:spring-boot-starter-web')
    runtime('com.h2database:h2')
    testCompile('org.springframework.boot:spring-boot-starter-test') 
}

記得更新一下依賴

把原本的application.properties重新命名為bootstrap.properties並改成以下內容
bootstrap.properties

spring.application.name=reservation-service
spring.cloud.config.uri=http://localhost:8888
  • spring.application.name 應用自己的名稱,到時候可以從介面上看到,也必須對應到設定檔的名稱
  • spring.cloud.config.uri Config-Server的位置

增加個控制器可以顯示從Condif-Server得到的資料

@RefreshScope
@RestController
class MessageRestControler{	
	@Value("${message}")
	private String message;
	
	@RequestMapping("/message")
	String message(){
		return this.message;
	}	
}

只要啟動後可以在 http://localhost:8000/message 取得 HELLO world! 的資料
注意 Port 變了喔,因為一開始就從 Config-Server 取得 reservation-service.properties 的內容,也取得了 message=HELLO world! 的內容來呈現。

加上 @RefreshScope 用意是當設定檔有變更時,你可以透過 URL 來觸發更新

curl -X POST 'http://localhost:8000/refresh'

但是要怎麼隨時保持同步請看另外一篇研究
使用 SpringCloud 同步所有節點設定


上一篇
Day 15 - 組態控制中心 Config Server
下一篇
Day 17 - 服務發現中心 Eureka Server
系列文
30天從零開始 使用 Spring Boot 跟 Spring Cloud 建構完整微服務架構35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言